home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog 117
/
FreelogNo117-OctobreNovembre2013.iso
/
Programmation
/
jedit
/
jedit5.1.0install.exe
/
{app}
/
modes
/
assembly-m68k.xml
< prev
next >
Wrap
Extensible Markup Language
|
2013-07-28
|
15KB
|
510 lines
<?xml version="1.0"?>
<!DOCTYPE MODE SYSTEM "xmode.dtd">
<!--
M68000 Assembly mode by Igor Lesik (curoles@yahoo.com)
version 0.2 (July 24, 2006)
TODO: i)add missing size qualifiers, ii)add Xcc like instructions
-->
<MODE>
<PROPS>
<PROPERTY NAME="lineComment" VALUE=";" />
<PROPERTY NAME="contextInsensitive" VALUE="true"/>
</PROPS>
<RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x\p{XDigit}+|\d+)">
<EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>
<EOL_SPAN TYPE="COMMENT2">*</EOL_SPAN>
<SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
<BEGIN>'</BEGIN>
<END>'</END>
</SPAN>
<SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
<BEGIN>"</BEGIN>
<END>"</END>
</SPAN>
<MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">$</MARK_FOLLOWING>
<MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"
AT_LINE_START="TRUE">:</MARK_PREVIOUS>
<SEQ TYPE="NULL">,</SEQ>
<SEQ TYPE="NULL">:</SEQ>
<SEQ TYPE="NULL">(</SEQ>
<SEQ TYPE="NULL">)</SEQ>
<SEQ TYPE="NULL">]</SEQ>
<SEQ TYPE="NULL">[</SEQ>
<SEQ TYPE="NULL">$</SEQ>
<SEQ TYPE="OPERATOR">+</SEQ>
<SEQ TYPE="OPERATOR">-</SEQ>
<SEQ TYPE="OPERATOR">/</SEQ>
<SEQ TYPE="OPERATOR">*</SEQ>
<SEQ TYPE="OPERATOR">%</SEQ>
<SEQ TYPE="OPERATOR">|</SEQ>
<SEQ TYPE="OPERATOR">^</SEQ>
<SEQ TYPE="OPERATOR">&</SEQ>
<SEQ TYPE="OPERATOR">~</SEQ>
<SEQ TYPE="OPERATOR">!</SEQ>
<SEQ TYPE="OPERATOR">=</SEQ>
<SEQ TYPE="OPERATOR"><</SEQ>
<SEQ TYPE="OPERATOR">></SEQ>
<KEYWORDS>
<!-- ************************* REGISTERS ********************************* -->
<!-- For sake of commonality with existing asm86 mode we use Keyword3 for registers-->
<!-- General-purpose data registers -->
<KEYWORD3>D0</KEYWORD3>
<KEYWORD3>D1</KEYWORD3>
<KEYWORD3>D2</KEYWORD3>
<KEYWORD3>D3</KEYWORD3>
<KEYWORD3>D4</KEYWORD3>
<KEYWORD3>D5</KEYWORD3>
<KEYWORD3>D6</KEYWORD3>
<KEYWORD3>D7</KEYWORD3>
<!-- Address registers -->
<KEYWORD3>A0</KEYWORD3>
<KEYWORD3>A1</KEYWORD3>
<KEYWORD3>A2</KEYWORD3>
<KEYWORD3>A3</KEYWORD3>
<KEYWORD3>A4</KEYWORD3>
<KEYWORD3>A5</KEYWORD3>
<KEYWORD3>A6</KEYWORD3>
<KEYWORD3>A7</KEYWORD3>
<!-- Floating-point data registers -->
<KEYWORD3>FP0</KEYWORD3>
<KEYWORD3>FP1</KEYWORD3>
<KEYWORD3>FP2</KEYWORD3>
<KEYWORD3>FP3</KEYWORD3>
<KEYWORD3>FP4</KEYWORD3>
<KEYWORD3>FP5</KEYWORD3>
<KEYWORD3>FP6</KEYWORD3>
<KEYWORD3>FP7</KEYWORD3>
<KEYWORD3>SP</KEYWORD3>
<KEYWORD3>CCR</KEYWORD3>
<!-- ************************** DIRECTIVES ********************************** -->
<!-- Assembler directives give instructions to the assembler (not the 68000 chip which will execute
your program) on how to assemble your program.
These directives may be grouped into the following categories.-->
<!-- Miscellaneous -->
<KEYWORD1>OPT</KEYWORD1>
<KEYWORD1>INCLUDE</KEYWORD1>
<KEYWORD1>FAIL</KEYWORD1>
<KEYWORD1>END</KEYWORD1>
<KEYWORD1>REG</KEYWORD1>
<!-- Listing Control -->
<KEYWORD1>PAGE</KEYWORD1>
<KEYWORD1>LIST</KEYWORD1>
<KEYWORD1>NOLIST</KEYWORD1>
<KEYWORD1>SPC</KEYWORD1>
<KEYWORD1>TTL</KEYWORD1>
<!-- Section Control -->
<KEYWORD1>ORG</KEYWORD1>
<!-- Symbol Definition -->
<KEYWORD1>EQU</KEYWORD1>
<KEYWORD1>SET</KEYWORD1>
<!-- Data Definition -->
<KEYWORD1>DS</KEYWORD1>
<KEYWORD1>DC</KEYWORD1>
<!-- Structured Programming Constructs -->
<KEYWORD1>FOR</KEYWORD1>
<KEYWORD1>ENDF</KEYWORD1>
<KEYWORD1>IF</KEYWORD1>
<KEYWORD1>THEN</KEYWORD1>
<KEYWORD1>ELSE</KEYWORD1>
<KEYWORD1>ENDI</KEYWORD1>
<KEYWORD1>REPEAT</KEYWORD1>
<KEYWORD1>UNTIL</KEYWORD1>
<KEYWORD1>WHILE</KEYWORD1>
<KEYWORD1>DO</KEYWORD1>
<KEYWORD1>ENDW</KEYWORD1>
<KEYWORD1>MACRO</KEYWORD1>
<!-- *************************** INSTRUCTIONS **************************************** -->
<FUNCTION>ABCD</FUNCTION>
<FUNCTION>ADD</FUNCTION>
<FUNCTION>ADD.B</FUNCTION>
<FUNCTION>ADD.W</FUNCTION>
<FUNCTION>ADD.L</FUNCTION>
<FUNCTION>ADDA</FUNCTION>
<FUNCTION>ADDA.W</FUNCTION>
<FUNCTION>ADDA.L</FUNCTION>
<FUNCTION>ADDI</FUNCTION>
<FUNCTION>ADDI.B</FUNCTION>
<FUNCTION>ADDI.W</FUNCTION>
<FUNCTION>ADDI.L</FUNCTION>
<FUNCTION>ADDQ</FUNCTION>
<FUNCTION>ADDQ.B</FUNCTION>
<FUNCTION>ADDQ.W</FUNCTION>
<FUNCTION>ADDQ.L</FUNCTION>
<FUNCTION>ADDX</FUNCTION>
<FUNCTION>ADDX.B</FUNCTION>
<FUNCTION>ADDX.W</FUNCTION>
<FUNCTION>ADDX.L</FUNCTION>
<FUNCTION>AND</FUNCTION>
<FUNCTION>AND.B</FUNCTION>
<FUNCTION>AND.W</FUNCTION>
<FUNCTION>AND.L</FUNCTION>
<FUNCTION>ANDI</FUNCTION>
<FUNCTION>ANDI.B</FUNCTION>
<FUNCTION>ANDI.W</FUNCTION>
<FUNCTION>ANDI.L</FUNCTION>
<FUNCTION>ASL</FUNCTION>
<FUNCTION>ASL.B</FUNCTION>
<FUNCTION>ASL.W</FUNCTION>
<FUNCTION>ASL.L</FUNCTION>
<FUNCTION>ASR</FUNCTION>
<FUNCTION>ASR.B</FUNCTION>
<FUNCTION>ASR.W</FUNCTION>
<FUNCTION>ASR.L</FUNCTION>
<!-- Bcc -->
<FUNCTION>BCC</FUNCTION>
<FUNCTION>BCS</FUNCTION>
<FUNCTION>BEQ</FUNCTION>
<FUNCTION>BGE</FUNCTION>
<FUNCTION>BGT</FUNCTION>
<FUNCTION>BHI</FUNCTION>
<FUNCTION>BLE</FUNCTION>
<FUNCTION>BLS</FUNCTION>
<FUNCTION>BLT</FUNCTION>
<FUNCTION>BMI</FUNCTION>
<FUNCTION>BNE</FUNCTION>
<FUNCTION>BPL</FUNCTION>
<FUNCTION>BVC</FUNCTION>
<FUNCTION>BVS</FUNCTION>
<FUNCTION>BCHG</FUNCTION>
<FUNCTION>BCLR</FUNCTION>
<FUNCTION>BFCHG</FUNCTION>
<FUNCTION>BFCLR</FUNCTION>
<FUNCTION>BFEXTS</FUNCTION>
<FUNCTION>BFEXTU</FUNCTION>
<FUNCTION>BFFF0</FUNCTION>
<FUNCTION>BFINS</FUNCTION>
<FUNCTION>BFSET</FUNCTION>
<FUNCTION>BFTST</FUNCTION>
<FUNCTION>BGND</FUNCTION>
<FUNCTION>BKPT</FUNCTION>
<FUNCTION>BRA</FUNCTION>
<FUNCTION>BSET</FUNCTION>
<FUNCTION>BSR</FUNCTION>
<FUNCTION>BTST</FUNCTION>
<FUNCTION>CALLM</FUNCTION>
<FUNCTION>CAS</FUNCTION>
<FUNCTION>CAS2</FUNCTION>
<FUNCTION>CHK</FUNCTION>
<FUNCTION>CHK2</FUNCTION>
<FUNCTION>CINV</FUNCTION>
<FUNCTION>CLR</FUNCTION>
<FUNCTION>CLR.B</FUNCTION>
<FUNCTION>CLR.W</FUNCTION>
<FUNCTION>CLR.L</FUNCTION>
<FUNCTION>CMP</FUNCTION>
<FUNCTION>CMP.B</FUNCTION>
<FUNCTION>CMP.W</FUNCTION>
<FUNCTION>CMP.L</FUNCTION>
<FUNCTION>CMPA</FUNCTION>
<FUNCTION>CMPA.W</FUNCTION>
<FUNCTION>CMPA.L</FUNCTION>
<FUNCTION>CMPI</FUNCTION>
<FUNCTION>CMPI.B</FUNCTION>
<FUNCTION>CMPI.W</FUNCTION>
<FUNCTION>CMPI.L</FUNCTION>
<FUNCTION>CMPM</FUNCTION>
<FUNCTION>CMPM.B</FUNCTION>
<FUNCTION>CMPM.W</FUNCTION>
<FUNCTION>CMPM.L</FUNCTION>
<FUNCTION>CMP2</FUNCTION>
<FUNCTION>CMP2.B</FUNCTION>
<FUNCTION>CMP2.W</FUNCTION>
<FUNCTION>CMP2.L</FUNCTION>
<!-- FUNCTION>cpBcc</FUNCTION>
<FUNCTION>cpDBcc</FUNCTION>
<FUNCTION>cpGEN</FUNCTION>
<FUNCTION>cpRESTORE</FUNCTION>
<FUNCTION>cpSAVE</FUNCTION>
<FUNCTION>cpScc</FUNCTION>
<FUNCTION>cpTRAPcc</FUNCTION -->
<FUNCTION>CPUSH</FUNCTION>
<!-- DBcc -->
<FUNCTION>DBCC</FUNCTION>
<FUNCTION>DBCS</FUNCTION>
<FUNCTION>DBEQ</FUNCTION>
<FUNCTION>DBGE</FUNCTION>
<FUNCTION>DBGT</FUNCTION>
<FUNCTION>DBHI</FUNCTION>
<FUNCTION>DBLE</FUNCTION>
<FUNCTION>DBLS</FUNCTION>
<FUNCTION>DBLT</FUNCTION>
<FUNCTION>DBMI</FUNCTION>
<FUNCTION>DBNE</FUNCTION>
<FUNCTION>DBPL</FUNCTION>
<FUNCTION>DBVC</FUNCTION>
<FUNCTION>DBVS</FUNCTION>
<FUNCTION>DIVS</FUNCTION>
<FUNCTION>DIVSL</FUNCTION>
<FUNCTION>DIVU</FUNCTION>
<FUNCTION>DIVUL</FUNCTION>
<FUNCTION>EOR</FUNCTION>
<FUNCTION>EOR.B</FUNCTION>
<FUNCTION>EOR.W</FUNCTION>
<FUNCTION>EOR.L</FUNCTION>
<FUNCTION>EORI</FUNCTION>
<FUNCTION>EORI.B</FUNCTION>
<FUNCTION>EORI.W</FUNCTION>
<FUNCTION>EORI.L</FUNCTION>
<FUNCTION>EXG</FUNCTION>
<FUNCTION>EXT</FUNCTION>
<FUNCTION>EXTB</FUNCTION>
<FUNCTION>FABS</FUNCTION>
<FUNCTION>FSABS</FUNCTION>
<FUNCTION>FDABS</FUNCTION>
<FUNCTION>FACOS</FUNCTION>
<FUNCTION>FADD</FUNCTION>
<FUNCTION>FSADD</FUNCTION>
<FUNCTION>FDADD</FUNCTION>
<FUNCTION>FASIN</FUNCTION>
<FUNCTION>FATAN</FUNCTION>
<FUNCTION>FATANH</FUNCTION>
<!--FUNCTION>FBcc</FUNCTION-->
<FUNCTION>FCMP</FUNCTION>
<FUNCTION>FCOS</FUNCTION>
<FUNCTION>FCOSH</FUNCTION>
<!--FUNCTION>FDBcc</FUNCTION-->
<FUNCTION>FDIV</FUNCTION>
<FUNCTION>FSDIV</FUNCTION>
<FUNCTION>FDDIV</FUNCTION>
<FUNCTION>FETOX</FUNCTION>
<FUNCTION>FETOXM1</FUNCTION>
<FUNCTION>FGETEXP</FUNCTION>
<FUNCTION>FGETMAN</FUNCTION>
<FUNCTION>FINT</FUNCTION>
<FUNCTION>FINTRZ</FUNCTION>
<FUNCTION>FLOG10</FUNCTION>
<FUNCTION>FLOG2</FUNCTION>
<FUNCTION>FLOGN</FUNCTION>
<FUNCTION>FLOGNP1</FUNCTION>
<FUNCTION>FMOD</FUNCTION>
<FUNCTION>FMOVE</FUNCTION>
<FUNCTION>FSMOVE</FUNCTION>
<FUNCTION>FDMOVE</FUNCTION>
<FUNCTION>FMOVECR</FUNCTION>
<FUNCTION>FMOVEM</FUNCTION>
<FUNCTION>FMUL</FUNCTION>
<FUNCTION>FSMUL</FUNCTION>
<FUNCTION>FDMUL</FUNCTION>
<FUNCTION>FNEG</FUNCTION>
<FUNCTION>FSNEG</FUNCTION>
<FUNCTION>FDNEG</FUNCTION>
<FUNCTION>FNOP</FUNCTION>
<FUNCTION>FREM</FUNCTION>
<FUNCTION>FRESTORE</FUNCTION>
<FUNCTION>FSAVE</FUNCTION>
<FUNCTION>FSCALE</FUNCTION>
<!--FUNCTION>FScc</FUNCTION-->
<FUNCTION>FSGLMUL</FUNCTION>
<FUNCTION>FSIN</FUNCTION>
<FUNCTION>FSINCOS</FUNCTION>
<FUNCTION>FSINH</FUNCTION>
<FUNCTION>FSQRT</FUNCTION>
<FUNCTION>FSSQRT</FUNCTION>
<FUNCTION>FDSQRT</FUNCTION>
<FUNCTION>FSUB</FUNCTION>
<FUNCTION>FSSUB</FUNCTION>
<FUNCTION>FDSUB</FUNCTION>
<FUNCTION>FTAN</FUNCTION>
<FUNCTION>FTANH</FUNCTION>
<FUNCTION>FTENTOX</FUNCTION>
<!--FUNCTION>FTRAPcc</FUNCTION-->
<FUNCTION>FTST</FUNCTION>
<FUNCTION>FTWOTOX</FUNCTION>
<FUNCTION>ILLEGAL</FUNCTION>
<FUNCTION>JMP</FUNCTION>
<FUNCTION>JSR</FUNCTION>
<FUNCTION>LEA</FUNCTION>
<FUNCTION>LINK</FUNCTION>
<FUNCTION>LPSTOP</FUNCTION>
<FUNCTION>LSL</FUNCTION>
<FUNCTION>LSL.B</FUNCTION>
<FUNCTION>LSL.W</FUNCTION>
<FUNCTION>LSL.L</FUNCTION>
<FUNCTION>LSR</FUNCTION>
<FUNCTION>LSR.B</FUNCTION>
<FUNCTION>LSR.W</FUNCTION>
<FUNCTION>LSR.L</FUNCTION>
<FUNCTION>MOVE</FUNCTION>
<FUNCTION>MOVE.B</FUNCTION>
<FUNCTION>MOVE.W</FUNCTION>
<FUNCTION>MOVE.L</FUNCTION>
<FUNCTION>MOVEA</FUNCTION>
<FUNCTION>MOVEA.W</FUNCTION>
<FUNCTION>MOVEA.L</FUNCTION>
<FUNCTION>MOVE16</FUNCTION>
<FUNCTION>MOVEC</FUNCTION>
<FUNCTION>MOVEM</FUNCTION>
<FUNCTION>MOVEP</FUNCTION>
<FUNCTION>MOVEQ</FUNCTION>
<FUNCTION>MOVES</FUNCTION>
<FUNCTION>MULS</FUNCTION>
<FUNCTION>MULU</FUNCTION>
<FUNCTION>NBCD</FUNCTION>
<FUNCTION>NEG</FUNCTION>
<FUNCTION>NEG.B</FUNCTION>
<FUNCTION>NEG.W</FUNCTION>
<FUNCTION>NEG.L</FUNCTION>
<FUNCTION>NEGX</FUNCTION>
<FUNCTION>NEGX.B</FUNCTION>
<FUNCTION>NEGX.W</FUNCTION>
<FUNCTION>NEGX.L</FUNCTION>
<FUNCTION>NOP</FUNCTION>
<FUNCTION>NOT</FUNCTION>
<FUNCTION>NOT.B</FUNCTION>
<FUNCTION>NOT.W</FUNCTION>
<FUNCTION>NOT.L</FUNCTION>
<FUNCTION>OR</FUNCTION>
<FUNCTION>OR.B</FUNCTION>
<FUNCTION>OR.W</FUNCTION>
<FUNCTION>OR.L</FUNCTION>
<FUNCTION>ORI</FUNCTION>
<FUNCTION>ORI.B</FUNCTION>
<FUNCTION>ORI.W</FUNCTION>
<FUNCTION>ORI.L</FUNCTION>
<FUNCTION>PACK</FUNCTION>
<!--FUNCTION>PBcc</FUNCTION-->
<!--FUNCTION>PDBcc</FUNCTION-->
<FUNCTION>PEA</FUNCTION>
<FUNCTION>PFLUSH</FUNCTION>
<FUNCTION>PFLUSHA</FUNCTION>
<FUNCTION>PFLUSHR</FUNCTION>
<FUNCTION>PFLUSHS</FUNCTION>
<FUNCTION>PLOAD</FUNCTION>
<FUNCTION>PMOVE</FUNCTION>
<FUNCTION>PRESTORE</FUNCTION>
<FUNCTION>PSAVE</FUNCTION>
<!--FUNCTION>PScc</FUNCTION-->
<FUNCTION>PTEST</FUNCTION>
<!--FUNCTION>PTRAPcc</FUNCTION-->
<FUNCTION>PVALID</FUNCTION>
<FUNCTION>RESET</FUNCTION>
<FUNCTION>ROL</FUNCTION>
<FUNCTION>ROL.B</FUNCTION>
<FUNCTION>ROL.W</FUNCTION>
<FUNCTION>ROL.L</FUNCTION>
<FUNCTION>ROR</FUNCTION>
<FUNCTION>ROR.B</FUNCTION>
<FUNCTION>ROR.W</FUNCTION>
<FUNCTION>ROR.L</FUNCTION>
<FUNCTION>ROXL</FUNCTION>
<FUNCTION>ROXL.B</FUNCTION>
<FUNCTION>ROXL.W</FUNCTION>
<FUNCTION>ROXL.L</FUNCTION>
<FUNCTION>ROXR</FUNCTION>
<FUNCTION>ROXR.B</FUNCTION>
<FUNCTION>ROXR.W</FUNCTION>
<FUNCTION>ROXR.L</FUNCTION>
<FUNCTION>RTD</FUNCTION>
<FUNCTION>RTE</FUNCTION>
<FUNCTION>RTM</FUNCTION>
<FUNCTION>RTR</FUNCTION>
<FUNCTION>RTS</FUNCTION>
<FUNCTION>SBCD</FUNCTION>
<!--Scc-->
<FUNCTION>SCC</FUNCTION>
<FUNCTION>SCS</FUNCTION>
<FUNCTION>SEQ</FUNCTION>
<FUNCTION>SF</FUNCTION>
<FUNCTION>SGE</FUNCTION>
<FUNCTION>SGT</FUNCTION>
<FUNCTION>SHI</FUNCTION>
<FUNCTION>SLE</FUNCTION>
<FUNCTION>SLS</FUNCTION>
<FUNCTION>SLT</FUNCTION>
<FUNCTION>SMI</FUNCTION>
<FUNCTION>SNE</FUNCTION>
<FUNCTION>SPL</FUNCTION>
<FUNCTION>ST</FUNCTION>
<FUNCTION>SVC</FUNCTION>
<FUNCTION>SVS</FUNCTION>
<FUNCTION>STOP</FUNCTION>
<FUNCTION>SUB</FUNCTION>
<FUNCTION>SUB.B</FUNCTION>
<FUNCTION>SUB.W</FUNCTION>
<FUNCTION>SUB.L</FUNCTION>
<FUNCTION>SUBA</FUNCTION>
<FUNCTION>SUBI</FUNCTION>
<FUNCTION>SUBI.B</FUNCTION>
<FUNCTION>SUBI.W</FUNCTION>
<FUNCTION>SUBI.L</FUNCTION>
<FUNCTION>SUBQ</FUNCTION>
<FUNCTION>SUBQ.B</FUNCTION>
<FUNCTION>SUBQ.W</FUNCTION>
<FUNCTION>SUBQ.L</FUNCTION>
<FUNCTION>SUBX</FUNCTION>
<FUNCTION>SUBX.B</FUNCTION>
<FUNCTION>SUBX.W</FUNCTION>
<FUNCTION>SUBX.L</FUNCTION>
<FUNCTION>SWAP</FUNCTION>
<FUNCTION>TAS</FUNCTION>
<FUNCTION>TBLS</FUNCTION>
<FUNCTION>TBLSN</FUNCTION>
<FUNCTION>TBLU</FUNCTION>
<FUNCTION>TBLUN</FUNCTION>
<FUNCTION>TRAP</FUNCTION>
<!--TRAPcc-->
<FUNCTION>TRAPCC</FUNCTION>
<FUNCTION>TRAPCS</FUNCTION>
<FUNCTION>TRAPEQ</FUNCTION>
<FUNCTION>TRAPF</FUNCTION>
<FUNCTION>TRAPGE</FUNCTION>
<FUNCTION>TRAPGT</FUNCTION>
<FUNCTION>TRAPHI</FUNCTION>
<FUNCTION>TRAPLE</FUNCTION>
<FUNCTION>TRAPLS</FUNCTION>
<FUNCTION>TRAPLT</FUNCTION>
<FUNCTION>TRAPMI</FUNCTION>
<FUNCTION>TRAPNE</FUNCTION>
<FUNCTION>TRAPPL</FUNCTION>
<FUNCTION>TRAPT</FUNCTION>
<FUNCTION>TRAPVC</FUNCTION>
<FUNCTION>TRAPVS</FUNCTION>
<FUNCTION>TRAPV</FUNCTION>
<FUNCTION>TST</FUNCTION>
<FUNCTION>TST.B</FUNCTION>
<FUNCTION>TST.W</FUNCTION>
<FUNCTION>TST.L</FUNCTION>
<FUNCTION>UNLK</FUNCTION>
<FUNCTION>UNPK</FUNCTION>
</KEYWORDS>
</RULES>
</MODE>